Pull Request Standards
PR Title and Description
-
Use the user story in the title of the Pull Request and include helpful details in the description. The title of the PR should follow the following format:
Team Name | Platform | Type of ticket | Ticket Number + Description.
Example: "Pool | iOS | TechDebt | PLATT-17899 Adding sonar qube exclusions"
-
Include screenshots and any other details to describe the work done. This aids the code reviewer and future developers in understanding the context.
-
Ensure your code is up-to-date with the development/release branch. Sync with the dev branch as it is the developer’s responsibility.
-
Perform SwiftLint validation, and resolve any issues or warnings to avoid code smell problems.
Pull Request Review Process
- Assignee: Assign relevant team members who have expertise in the area of code changes for the review.
- Description: Provide a clear and detailed description of what the PR does, including any relevant context or background information. Highlight the key changes and what they aim to achieve.
- Checklist: Ensure the PR includes a checklist that covers:
- Code quality and style adherence
- All tests passing locally
- No merge conflicts with the base branch
- Documentation updates, if necessary
- Review Feedback: Address all comments and feedback from reviewers promptly. Engage in constructive discussions if there are differing opinions.
Standards and Best Practices
- Code Reviews: Code reviews are mandatory for all PRs. Ensure that at least two developers have reviewed the code before it is merged.
- Comprehensive Testing: All new features and bug fixes should come with appropriate unit tests and, where applicable, UI tests. Aim for a high level of test coverage.
- Continuous Integration: Ensure CI pipelines are configured to run tests, lint checks, and build checks for every PR. Any failures should be addressed immediately.
- Documentation: Update relevant documentation with any changes that impact the usage or understanding of the codebase. This includes README files, API documentation, and in-code comments. By adhering to these processes, standards, and best practices, we ensure a high level of code quality and maintainability in our mobile development projects.